home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994…tember: Reference Library / Dev.CD Sep 94.toast / Periodicals / develop / develop Issue 18 / develop 18 code / OSA Sample / Sources / AEBuild.h next >
Encoding:
C/C++ Source or Header  |  1992-09-17  |  2.5 KB  |  69 lines  |  [TEXT/KAHL]

  1. /*
  2.  *    AEBuild.h                                        Copyright ©1991,1992 Apple Computer, Inc.
  3.  */
  4.  
  5. #ifdef THINK_C
  6. #pragma once                                        /* For THINK C users */
  7. #endif
  8.  
  9. #ifndef __AEBUILD__
  10. #define __AEBUILD__                                    /* For poor MPW users :) */
  11.  
  12.  
  13. #include <AppleEvents.h>
  14.  
  15.  
  16. #define aeBuild_SyntaxErr    12345            /* Let's get an Official OSErr code someday */
  17.  
  18. typedef enum{                                /* Syntax Error Codes: */
  19.     aeBuildSyntaxNoErr = 0,                        /* (No error) */
  20.     aeBuildSyntaxBadToken,                        /* Illegal character */
  21.     aeBuildSyntaxBadEOF,                        /* Unexpected end of format string */
  22.     aeBuildSyntaxNoEOF,                            /* Unexpected extra stuff past end */
  23.     aeBuildSyntaxBadNegative,                    /* "-" not followed by digits */
  24.     aeBuildSyntaxMissingQuote,                    /* Missing close "'" */
  25.     aeBuildSyntaxBadHex,                        /* Non-digit in hex string */
  26.     aeBuildSyntaxOddHex,                        /* Odd # of hex digits */
  27.     aeBuildSyntaxNoCloseHex,                    /* Missing "»" */
  28.     aeBuildSyntaxUncoercedHex,                    /* Hex string must be coerced to a type */
  29.     aeBuildSyntaxNoCloseString,                    /* Missing "”" */
  30.     aeBuildSyntaxBadDesc,                        /* Illegal descriptor */
  31.     aeBuildSyntaxBadData,                        /* Bad data value inside (…) */
  32.     aeBuildSyntaxNoCloseParen,                    /* Missing ")" after data value */
  33.     aeBuildSyntaxNoCloseBracket,                /* Expected "," or "]" */
  34.     aeBuildSyntaxNoCloseBrace,                    /* Expected "," or "}" */
  35.     aeBuildSyntaxNoKey,                            /* Missing keyword in record */
  36.     aeBuildSyntaxNoColon,                        /* Missing ":" after keyword in record */
  37.     aeBuildSyntaxCoercedList,                    /* Cannot coerce a list */
  38.     aeBuildSyntaxUncoercedDoubleAt                /* "@@" substitution must be coerced */
  39. } AEBuild_SyntaxErrType;
  40.  
  41. // In all the "v..." functions, the "args" parameter is really a va_list.
  42. // It's listed as void* here to avoid having to #include stdarg.h.
  43.  
  44. // Building a descriptor:
  45.  
  46. OSErr
  47.     AEBuild(  AEDesc *dst, const char *src, ... ),
  48.     vAEBuild( AEDesc *dst, const char *src, const void *args );
  49.  
  50. // Adding a parameter to an Apple event:
  51.  
  52. OSErr
  53.     AEBuildParameters( AppleEvent *event, const char *format, ... ),
  54.     vAEBuildParameters( AppleEvent *event, const char *format, const void *args );
  55.  
  56. // Building an entire Apple event:
  57.  
  58. OSErr
  59.     AEBuildAppleEvent(    AEEventClass theClass, AEEventID theID,
  60.                         DescType addressType, const void *addressData, long addressLength,
  61.                         short returnID, long transactionID, AppleEvent *result,
  62.                         const char *paramsFmt, ... ),
  63.     vAEBuildAppleEvent(    AEEventClass theClass, AEEventID theID,
  64.                         DescType addressType, const void *addressData, long addressLength,
  65.                         short returnID, long transactionID, AppleEvent *resultEvt,
  66.                         const char *paramsFmt, const void *args );
  67.  
  68. #endif
  69.